# 相反顺序输出列表
list1 = [1, 2, 3, 4, 5]

# 这种方法没有创建一个新列表，而是直接修改了原列表
list1.reverse()
print(list1)


# 方法一
from typing import List, Any


def reverse_list(lst: List[Any]) -> List[Any]:
    """
    返回一个新的反转的列表，不改变原始列表。

    参数:
    lst (List[Any]): 需要被反转的列表。

    返回:
    List[Any]: 反转后的新列表。
    """
    return lst[::-1]
    # return list(reversed(lst))

    # lst.reverse()
    # return lst


"""
在Python中，reverse() 和 reversed() 都是与列表反转相关的函数，但它们的使用方式和上下文有所不同。

reverse() 函数
reverse() 是列表对象的一个方法，用于原地（in-place）反转列表。也就是说，它会直接改变原列表的顺序，而不是创建一个新的反转列表。这个函数没有返回值（返回 None），但你可以直接看到原列表被改变了。

示例：

python
my_list = [1, 2, 3, 4, 5]  
my_list.reverse()  
print(my_list)  # 输出: [5, 4, 3, 2, 1]


reversed() 函数
reversed() 是一个内置函数，它接受一个序列（如列表、元组、字符串等）作为参数，并返回一个迭代器，该迭代器会按照相反的顺序生成序列中的元素。它不会改变原序列，而是创建了一个新的可迭代对象。

示例：

python
my_list = [1, 2, 3, 4, 5]  
reversed_list = reversed(my_list)  
print(list(reversed_list))  # 输出: [5, 4, 3, 2, 1]  
print(my_list)  # 输出: [1, 2, 3, 4, 5]  # 注意原列表没有改变
"""

if __name__ == "__main__":
    print(reverse_list(list1))
